package cn.wolfcode.luowowo.comment.service;

import cn.wolfcode.luowowo.comment.domain.ScenicComment;
import cn.wolfcode.luowowo.scenic.query.ScenicCommentQueryObject;
import org.springframework.data.domain.Page;

import java.util.List;
import java.util.Map;

/**
 * 景点评论的业务接口
 */
public interface IScenicCommentService {
    /**
     * 保存景点评论
     * @param scenicComment
     * @return
     */
    ScenicComment save(ScenicComment scenicComment);

    /**
     * 通过id, 获取当个评论
     * @param id
     * @return
     */
    ScenicComment get(String id);

    /**
     * 通过条件, 查询该景点下所有的评论
     * @param qo
     * @return
     */
    Page<ScenicComment> query(ScenicCommentQueryObject qo);

    /**
     * 获取指定景点的各种评论数
     * @param id
     * @return
     */
    Map<String, Long> getCount(Long id);

    /**
     * 获取指定景点中带图的评论数量
     * @param id
     * @return
     */
    long getCountWithPhoto(long id);
}
